1. Field of the Invention
The present invention relates to an image processing device such as a geometry processor having matrix computing units, and more particularly to an image processing device in which the matrix computing units that perform matrix computation for coordinate conversion may also be used for interpolation computation regarding polygon vertex coordinates needed for such processes as a subdivision process and vector product computation needed for a prescribed process.
2. Description of the Related Art
Image processing devices that use computer graphics are capable of generating images for simulation, games and other purposes on a real-time basis. Large-scale image processing devices have been developed in recent years that perform various computation processes at high speed in order to generate high-quality images.
A typical image processing device has a geometry processor to convert the coordinates of a polygon comprising an object defined within a local coordinate system into global coordinates and further to perform perspective view conversion of these coordinates into two-dimensional coordinates such as for a display screen, and a renderer processor that generates image data including color data regarding the polygon within the display screen that was generated via the geometry program. The image data generated by the renderer processor is supplied to the display device, whereupon the generated image is displayed.
During a simulation or game, the operator inputs prescribed operation commands. The simulation program or game program processes the input commands and moves the object. In order to move the object, the game program, etc. generates a coordinate conversion matrix that has a rotation component and a parallel displacement component to move the object, and supplies the matrix to the geometry processor together with the local coordinates of the polygon comprising the object.
The geometry processor performs matrix computation in which the abovementioned supplied local coordinates of the polygon are multiplied by the coordinate conversion matrix to seek the position of the polygon in the global coordinate system after it is shifted. The geometry processor then performs perspective view conversion of the polygon, and supplies to the renderer processor polygon data that corresponds to the two-dimensional coordinates in the display screen.
As described above, a typical geometry processor has built-in matrix computing units to carry out the above coordinate conversion.
On the other hand, a subdivision surface process is one form of special image processing. The subdivision surface process is a process to convert an angular polygon into a rounded polygon, or to convert an angular object into a rounded object, and is implemented through repeated interpolation computation regarding multiple sets of vertex point data and point data. In order to carry out such a subdivision surface process, a dedicated interpolation computing unit must be incorporated in the image processing device.
Normal line vectors of a polygon, for example, may be sought through vector product computation of the vectors of the edges comprising the polygon. Where the game program does not supply normal line vectors as vertex data of a polygon, a computing unit that seeks such normal line vectors is needed in the geometry processor. In that case, a dedicated vector product computing unit must be incorporated in the image processing device.
However, if a special computing unit for a subdivision surface process or a special computing unit dedicated to vector product computation are incorporated in the geometry processor, the circuit size of the geometry processor increases, which is undesirable from a cost standpoint. In particular, the geometry processor includes matrix computing units, and a matrix computing unit is a large circuit comprising multiple multiplication units and an adding unit. Additional incorporation of these dedicated computing units in the geometry processor should be avoided.
An object of the present invention is to provide an image processing device having a geometry processor that is capable of performing interpolation computation without increasing the circuit size.
Another object of the present invention is to provide an image processing device having a geometry processor that is capable of performing vector product computation without increasing the circuit size.
Yet another object of the present invention is to provide an image processing device having a geometry processor that can use for interpolation computation the matrix computing units already incorporated therein.
Yet another object of the present invention is to provide an image processing device having a geometry processor that can use for vector product computation the matrix computing units already incorporated therein.
In order to attain the objects described above, one aspect of the present invention comprises a geometry processor having a matrix computing unit that is connected to a vector bus through which coordinate conversion target data is supplied and a matrix bus through which coordinate conversion matrix is supplied, and that performs multiplication of the coordinate conversion target data by the coordinate conversion matrix, wherein the processor is provided with a switching unit that supplies a mixture ratio to the vector bus and interpolation computation target data to the matrix bus, and wherein the matrix computing unit performs interpolation computation of the interpolation computation target data in accordance with the mixture ratio.
According to this invention, the interpolation computation, needed for a subdivision surface process and other processes may be performed using the matrix computing unit provided in the geometry processor, normally for the purpose of coordinate conversion. Therefore, it is not necessary to incorporate a dedicated interpolation computing unit in the geometry processor, and the circuit size of the geometry processor may be reduced.
Furthermore, another aspect of the present invention comprises a geometry processor having a matrix computing unit that is connected to a vector bus through which coordinate conversion target data is supplied and a matrix bus through which a coordinate conversion matrix is supplied, and that performs multiplication of the coordinate conversion target data by the coordinate conversion matrix, wherein vector product computation of a first vector and a second vector is carried out by the matrix computing unit. In order to allow this to happen, a switching unit is incorporated that supplies the first vector data to the vector bus and supplies vector product computation matrix data generated from the second vector data to the matrix bus.
In accordance with the invention described above, the vector product computation required in a process in which the normal line vectors of a polygon are sought may be carried out using the matrix computing unit provided in the geometry processor for the purpose of coordinate conversion. Therefore, it is not necessary to incorporate a dedicated vector product computing unit, and the circuit size may be reduced.
In order to attain the objects described above, yet another aspect of the present invention is an image processing device comprising: a matrix computing unit for performing multiplication of first and second matrix data, said matrix computing unit being connected to a vector bus through which said first matrix data is supplied, as well as to a matrix bus through which said second matrix data is supplied; and a data supply unit for supplying coordinate conversion target data to said vector bus and a coordinate conversion matrix to said matrix bus during a coordinate conversion process, and supplying a mixture ratio to said vector bus and interpolation computation target data to said matrix bus during interpolation computation.
In order to attain the objects described above, yet another aspect of the present invention is An image processing device comprising: a matrix computing unit for performing multiplication of first and second matrix data, said matrix computing unit being connected to a vector bus through which said first matrix data is supplied, as well as to a matrix bus through which said second matrix data is supplied; and a data supply unit for supplying coordinate conversion target data to said vector bus and a coordinate conversion matrix to said matrix bus during a coordinate conversion process, and supplying first vector data to said vector bus and vector product computation matrix data generated from second vector data to said matrix bus during vector product computation.